package com.kb.design.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kb.design.dto.BonusConfigDTO;
import com.kb.design.entity.BonusConfig;

public interface BonusConfigService extends IService<BonusConfig> {
    /**
     * 根据BonusConfig对象分页查询绩效配置列表
     *
     * @param page        分页对象
     * @param bonusConfig 查询条件
     * @return 分页后的绩效配置列表
     */
    IPage<BonusConfig> getBonusConfigByCondition(Page<BonusConfig> page, BonusConfigDTO bonusConfig);

    /**
     * 新增绩效配置
     *
     * @param bonusConfig 新增的绩效配置对象
     * @return 新增的绩效配置对象
     */
    boolean saveBonusConfig(BonusConfig bonusConfig);

    /**
     * 修改绩效配置
     *
     * @param bonusConfig 修改的绩效配置对象
     * @return 是否修改成功
     */
    boolean updateBonusConfig(BonusConfig bonusConfig);

    /**
     * 根据ID查询绩效配置详情
     *
     * @param id 绩效配置ID
     * @return 绩效配置对象
     */
    BonusConfig getBonusConfigById(Long id);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);
}